 /*	
 *				
 *					ISNW ---- It is a war.It is not warcraft!
 *
 *
 *					Author:					zhoukeli(haxixi_keli)
 *					Filename:				IMesh.h
 *					CreateTime:				2008/12/14
 *					ModifyTime:				2008/12/14
 *
 */

#ifndef __ISNW_I_MESH_H__
#define __ISNW_I_MESH_H__

#include "isnwTypes.h"
#include "IReferenceCounted.h"
#include "aabbox3d.h"

#include "IMeshbuffer.h"

namespace ISNW
{
namespace scene
{
	class IMesh : public IReferenceCounted
	{
	public:
		//! destructor
		virtual ~IMesh(){}

	public:
		//! function
		//! return the num of buffer
		virtual s32 getmeshbuffercount() const = 0;

		virtual const IMeshBuffer* getmeshbuffer(s32 idx) const = 0;

		virtual IMeshBuffer* getmeshbuffer(s32 idx) = 0;

		virtual const core::aabbox3df getboundbox() const = 0;

		virtual const core::aabbox3df setboundbox(const core::aabbox3d<f32>& box) = 0;
	};
} // end namespace scene
} // end namespace ISNW
#endif